package com.example.demopoi.anasysExcel.controller;

import com.example.demopoi.anasysExcel.entity.User;
import com.example.demopoi.anasysExcel.util.ExcelUtil;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@RestController
public class TestControllerAnasys {
    //Excel文件路径
    private static String excelFile = "E://User.xls";

    @RequestMapping("/test")
    public void test() {
        try {
            /**
             * 自动生成Excel文件
             */
            ExcelUtil.writeExcel(excelFile, getExcelData());
            /**
             * 自动读取Excel文件
             */
            List<User> users = ExcelUtil.readExcel(excelFile);
            /**
             * 查看批量导入的用户数据
             */
            printList(users);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 创建写入到Excel中的数据
     *
     * @return 用户数据集合
     */
    private static List<User> getExcelData() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        List<User> users = new ArrayList<>();
        for (int i = 1; i <= 10; i++) {
            User user = new User();
            user.setId((long) i);
            user.setName("user" + i);
            user.setSex((i % 2) == 0);
            user.setAge(i);
            user.setBirthday(sdf.format(new Date()));
            users.add(user);
        }
        return users;
    }

    /**
     * 打印用户数据
     *
     * @param users 要打印的用户数据集合
     */
    private static void printList(List<User> users) {
        if (users == null) {
            System.out.println("用户数据为空");
            return;
        }
        for (User user : users) {
            System.out.println(user.toString());
        }
    }
}
